package cn.good.yan.t3.p2;


import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * 3. AOP  - AspectJ注解
 *    测试
 * @author shengren.yan
 * @create 2023-09-10
 */
public class TestUser2 {

    /**
     * 代理 执行，源对象 User2
     *      打印结果：环绕通知之 前执行
     *              before，代理逻辑前执行
     *              add... 当前原始的逻辑----
     *              after 代理逻辑后执行，有异常就不执行，比有@After先执行
     *              after 代理逻辑后执行
     *              环绕通知之 后执行
     */
    @Test
    public void test()  {
        ApplicationContext ac = new ClassPathXmlApplicationContext("beans2.xml");
        User2 user = ac.getBean(User2.class);
        try {
            user.add("1","22");
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

}
